const express = require('express');
const router = express.Router();
const fileController = require('../controllers/fileController');
const { authMiddleware } = require('../middleware/auth');

// 所有文件路由需要认证
router.use(authMiddleware);

// 文件列表
router.get('/', fileController.getFileList);

// 下载文件（必须放在 /:id 之前，避免被 getFileInfo 拦截）
router.get('/download/:id', fileController.downloadFile);

// 批量下载文件
router.post('/batch-download', fileController.batchDownload);

// 批量删除文件
router.post('/batch-delete', fileController.batchDeleteFiles);

// 文件信息
router.get('/:id', fileController.getFileInfo);

// 创建文件夹
router.post('/folder', fileController.createFolder);

// 删除文件
router.delete('/:id', fileController.deleteFile);

// 重命名文件
router.put('/:id/rename', fileController.renameFile);

// 复制文件
router.post('/:id/copy', fileController.copyFile);

// 移动文件
router.post('/:id/move', fileController.moveFile);

// 下载文件（兼容格式：/:id/download）
router.get('/:id/download', fileController.downloadFile);

// 检查文件是否存在（MD5去重）
router.post('/check-exists', fileController.checkFileExists);

// 秒传文件
router.post('/quick-upload', fileController.quickUpload);

// 同步FTP文件记录
router.post('/sync', fileController.syncFileRecord);

// 上传相关路由已移至 routes/upload.js

module.exports = router;
